package com.micromsg.basic.sys.service;

import com.micromsg.basic.msg.vo.AllFriendVO;
import com.micromsg.basic.sys.model.User;
import com.micromsg.common.core.PageResult;
import com.micromsg.common.service.Service;
import com.micromsg.basic.sys.vo.entity.UserEntityVO;
import com.micromsg.basic.sys.vo.request.UserRequestVO;
import com.micromsg.basic.sys.vo.response.UserResponseVO;

import java.util.List;

/**
 * 用户表
 *
 * @author yangyang
 * @date 2024/04/06
 **/
public interface UserService extends Service<User> {

    /**
     * 获取用户表分页列表
     *
     * @param userRequestVO 查询条件
     * @return 返回用户表分页结果
     */
    PageResult<UserResponseVO> queryUserPageList(UserRequestVO userRequestVO);

    AllFriendVO getAllFriend(String userId);

    /**
     * 获取用户表详细信息
     *
     * @param id 用户表ID
     * @return 用户表
     */
    UserEntityVO getUserEntityVO(String id);

    /**
     * 新增用户表
     *
     * @param userEntityVO 用户表实体
     */
    void addUser(UserEntityVO userEntityVO);

    /**
     * 修改用户表
     *
     * @param userEntityVO 用户表实体
     */
    void updateUser(UserEntityVO userEntityVO);

    /**
     * 删除用户表
     *
     * @param id 用户表ID
     */
    void deleteUser(String id);
}
